﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MS.InformationManagement.Presenter.Support;
using MS.InformationManagement.BLL.RadicadoSalidaConAntecedentes;

namespace MS.InformationManagement.Presenter.RadicadoSalidaConAntecedentes
{
    public class RadicadoSalidaConAntecedentesPresenter : BasePresenter<IRadicadoSalidaConAntecedentesView>
    {
        #region Constructors

        public RadicadoSalidaConAntecedentesPresenter(IRadicadoSalidaConAntecedentesView view) : base(view) { }

        #endregion

        #region Methods

        public void HandleSave()
        {
            if (View.CurrentId.HasValue)
            {
                View.Radicado_Empresa = new MS.InformationManagement.BLL.InsertarRadicado.InsertarRadicado().GetRadicadoEmpresa(View.CurrentId.Value, View.CurrentList  );
                if (View.Radicado_Empresa != null)
                {
                    View.Radicado_Empresa.AttachedFiles = View.FilesSalida; 
                    View.RadicadoGeneradoID = new MS.InformationManagement.BLL.RadicadoSalidaConAntecedentes.RadicadoSalidaConAntecedentes().SaveRadicadoEmpresaSalidaAntecedentes(View.Radicado_Empresa);
                    View.Radicado_Empresa.AttachedDocuments = View.RadicadoGeneradoID;
                    new MS.InformationManagement.BLL.InsertarRadicado.InsertarRadicado().UpdateRadicadoEmpresa(View.Radicado_Empresa);
                    View.RadicadoGenerated();
                }

                View.Radicado_Persona = new MS.InformationManagement.BLL.InsertarRadicado.InsertarRadicado().GetRadicadoPersona(View.CurrentId.Value, View.CurrentList);
                if (View.Radicado_Persona != null)
                {
                    View.Radicado_Persona.AttachedFiles = View.FilesSalida; 
                    View.RadicadoGeneradoID = new MS.InformationManagement.BLL.RadicadoSalidaConAntecedentes.RadicadoSalidaConAntecedentes().SaveRadicadoPersonaSalidaAntecedentes(View.Radicado_Persona);
                    View.Radicado_Persona.AttachedDocuments = View.RadicadoGeneradoID;
                    new MS.InformationManagement.BLL.InsertarRadicado.InsertarRadicado().UpdateRadicadoPersona(View.Radicado_Persona);
                    View.RadicadoGenerated();
                }

                View.Radicado_Empresa_Salida = new MS.InformationManagement.BLL.InsertarRadicadoSalida.InsertarRadicadoSalida().GetRadicadoEmpresaSalida(View.CurrentId.Value, View.CurrentList);
                if (View.Radicado_Empresa_Salida != null)
                {
                    View.Radicado_Empresa_Salida.AttachedFiles = View.FilesSalida;
                    View.RadicadoGeneradoID = new MS.InformationManagement.BLL.RadicadoSalidaConAntecedentes.RadicadoSalidaConAntecedentes().SaveRadicadoEmpresaSalidaAntecedentes(View.Radicado_Empresa_Salida);
                    View.Radicado_Empresa_Salida.AttachedDocuments = View.RadicadoGeneradoID;
                    new MS.InformationManagement.BLL.InsertarRadicadoSalida.InsertarRadicadoSalida().UpdateRadicadoEmpresaSalida(View.Radicado_Empresa_Salida);
                    View.RadicadoGenerated();
                }
                View.Radicado_Persona_Salida = new MS.InformationManagement.BLL.InsertarRadicadoSalida.InsertarRadicadoSalida().GetRadicadoPersonaSalida(View.CurrentId.Value, View.CurrentList);
                if (View.Radicado_Persona_Salida != null)
                {
                    View.Radicado_Persona_Salida.AttachedFiles = View.FilesSalida;
                    View.RadicadoGeneradoID = new MS.InformationManagement.BLL.RadicadoSalidaConAntecedentes.RadicadoSalidaConAntecedentes().SaveRadicadoPersonaSalidaAntecedentes(View.Radicado_Persona_Salida);
                    View.Radicado_Persona_Salida.AttachedDocuments = View.RadicadoGeneradoID;
                    new MS.InformationManagement.BLL.InsertarRadicadoSalida.InsertarRadicadoSalida().UpdateRadicadoPersonaSalida(View.Radicado_Persona_Salida);
                    View.RadicadoGenerated();
                }
            }
            
        }

        #endregion
    }
}
